package com.hzeport.bgs22emduty.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.masa.common.core.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = true)
@TableName("EMDU_DUTY_SCHEDULE_INFO")
@ApiModel(value = "人员排班保存")
public class DutyScheduleInfo extends BaseEntity {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "部门排班ID，关联部门排班表DUTY_SCHEDULE_SET表主键ID")
    @TableField(value = "SET_ID")
    @JsonProperty(value = "sId")
    private String sId;

    @ApiModelProperty(value = "总排班ID，关联总排班表DUTY_SCHEDULE_SET_CUSTOM主键ID")
    @TableField(value = "SET_CUSTOM_ID")
    @JsonProperty(value = "setCustomId")
    private String setCustomId;

    @ApiModelProperty(value = "值班时段ID：关联值班时段表PARAM_DUTY主键ID")
    @TableField(value = "DUTY_TIMES_ID")
    @JsonProperty(value = "dutyTimesId")
    private String dutyTimesId;

    @ApiModelProperty(value = "值班的日期")
    @TableField(value = "DUTY_DAY")
    @JsonProperty(value = "dDay")
    private LocalDate dDay;


    @ApiModelProperty(value = "值班的日期，中文形式")
    @TableField(value = "DUTY_DAY_STRING")
    @JsonProperty(value = "dDayString")
    private String dDayString;


    @ApiModelProperty(value = "海关员工号")
    @TableField(value = "DUTY_USER_NO")
    @JsonProperty(value = "dUserno")
    private String dUserno;


    @ApiModelProperty(value = "人员姓名")
    @TableField(value = "DUTY_USER_NAME")
    @JsonProperty(value = "dUsername")
    private String dUsername;


    @ApiModelProperty(value = "人员的职务")
    @TableField(value = "DUTY_USER_JOB")
    @JsonProperty(value = "dUserjob")
    private String dUserjob;


    @ApiModelProperty(value = "部门GUID；形式为UUID")
    @TableField(value = "DUTY_DEPT")
    @JsonProperty(value = "dDept")
    private String dDept;


    @ApiModelProperty(value = "部门的中文名称")
    @TableField(value = "DUTY_DEPT_NAME")
    @JsonProperty(value = "dDeptname")
    private String dDeptname;


    @ApiModelProperty(value = "电话号码（手机长号）")
    @TableField(value = "DUTY_PHONE")
    @JsonProperty(value = "dPhone")
    private String dPhone;

    @ApiModelProperty(value = "手机短号")
    @TableField(value = "PHONE_SHORT")
    @JsonProperty(value = "phoneShort")
    private String phoneShort;

    @ApiModelProperty(value = "座机号")
    @TableField(value = "DUTY_PHONE_LAND")
    @JsonProperty(value = "dPhoneLand")
    private String dPhoneLand;

    @ApiModelProperty(value = "值班类型：1.日常班；2.节假日；3.重要日；4.周末班")
    @TableField(value = "SCHEDULE_TYPE")
    @JsonProperty(value = "sType")
    private String sType;

    @ApiModelProperty(value = "值带班类型：1.值班；2.带班")
    @TableField(value = "DUTY_MODE")
    @JsonProperty(value = "dType")
    private String dType;

    @ApiModelProperty(value = "值班时段类型：1.上午；2.下午；3.夜间；4.全天；5.其他；6.白天")
    @TableField(value = "DUTY_PARAM_TYPE")
    @JsonProperty(value = "dutyParamType")
    private String dutyParamType;

    @ApiModelProperty(value = "值班人类型：1. 直属关关领导；2.直属关处领导；3.直属关科级值班员；" +
            "4.署领导；5.司局领导；6.处领导；7.主值班员；8.副值班员")
    @TableField(value = "DUTY_TYPE")
    @JsonProperty(value = "dutyType")
    private String dutyType;

    @ApiModelProperty(value = "值班时段，中文形式")
    @TableField(value = "DUTY_TIMES_STRING")
    @JsonProperty(value = "dutyTimesString")
    private String dutyTimesString;

    @ApiModelProperty(value = "H4A人员职务")
    @TableField(value = "DUTY_POST")
    @JsonProperty(value = "dutypost")
    private String dutypost;


    @ApiModelProperty(value = "H4A级别编码")
    @TableField(value = "RANK_CODE")
    @JsonProperty(value = "rankCode")
    private String rankCode;

    @ApiModelProperty(value = "关区GUID，源自H4A")
    @TableField(value = "CUSTOM_ID")
    @JsonProperty(value = "customId")
    private String customId;

    @ApiModelProperty(value = "关区中文名称")
    @TableField(value = "CUSTOM_NAME")
    @JsonProperty(value = "customName")
    private String customName;

    @ApiModelProperty(value = "是否支取值班补贴：0. 已支取，1. 未支取")
    @TableField(value = "IS_DRAW")
    @JsonProperty(value = "isDraw")
    private String isDraw;

    @ApiModelProperty(value = "排班人姓名")
    @TableField(value = "DUTY_OPERATOR_NAME")
    @JsonProperty(value = "dOperatorName")
    private String dOperatorName;


    @ApiModelProperty(value = "调班人员姓名")
    @TableField(value = "DUTY_EXCHANGER_NAME")
    @JsonProperty(value = "dExchangerName")
    private String dExchangerName;

    @ApiModelProperty(value = "值班开始时间")
    @TableField(value = "DUTY_START_DATE_TIME")
    @JsonProperty(value = "dStartDateTime")
    private LocalDateTime dStartDateTime;


    @ApiModelProperty(value = "值班结束时间")
    @TableField(value = "DUTY_END_DATE_TIME")
    @JsonProperty(value = "dEndDateTime")
    private LocalDateTime dEndDateTime;


    @ApiModelProperty(value = "留白数据")
    @TableField(value = "IS_WHITE")
    @JsonProperty(value = "isWhite")
    private String isWhite;

    @TableField(exist = false)
    @JsonProperty(value = "globalSort")
    private String globalSort;

    @ApiModelProperty(value = "领导职务")
    @TableField(value = "LEADING_POST")
    @JsonProperty(value = "leadingPost")
    private String leadingPost;
}
